#ifndef __KEY_LED_BUZZER_H_
#define __KEY_LED_BUZZER_H_

#include <stdint.h>

#define LED1_ON gpio_set(GPIOB,DL_GPIO_PIN_0, 0)
#define LED1_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_0)
#define LED1_OFF gpio_set(GPIOB,DL_GPIO_PIN_0, 1)

#define LED2_ON gpio_set(GPIOB,DL_GPIO_PIN_1, 0)
#define LED2_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_1)
#define LED2_OFF gpio_set(GPIOB,DL_GPIO_PIN_1, 1)

#define LED3_ON gpio_set(GPIOB,DL_GPIO_PIN_2, 0)
#define LED3_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_2)
#define LED3_OFF gpio_set(GPIOB,DL_GPIO_PIN_2, 1)

#define LED4_ON gpio_set(GPIOB,DL_GPIO_PIN_3, 0)
#define LED4_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_3)
#define LED4_OFF gpio_set(GPIOB,DL_GPIO_PIN_3, 1)

#define LED5_ON gpio_set(GPIOB,DL_GPIO_PIN_4, 0)
#define LED5_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_4)
#define LED5_OFF gpio_set(GPIOB,DL_GPIO_PIN_4, 1)

#define LED6_ON gpio_set(GPIOB,DL_GPIO_PIN_5, 0)
#define LED6_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_5)
#define LED6_OFF gpio_set(GPIOB,DL_GPIO_PIN_5, 1)

#define LED7_ON gpio_set(GPIOB,DL_GPIO_PIN_6, 0)
#define LED7_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_6)
#define LED7_OFF gpio_set(GPIOB,DL_GPIO_PIN_6, 1)

#define LED8_ON gpio_set(GPIOB,DL_GPIO_PIN_7, 0)
#define LED8_TOGGLE gpio_toggle(GPIOB,DL_GPIO_PIN_7)
#define LED8_OFF gpio_set(GPIOB,DL_GPIO_PIN_7, 1)

#define BUZZER_ON gpio_set(GPIOB,DL_GPIO_PIN_10, 0)
#define BUZZER_TOGGLE gpio_toggle(GPIOA,DL_GPIO_PIN_0)
#define BUZZER_OFF gpio_set(GPIOB,DL_GPIO_PIN_10, 1)

#define GET_KEY1 (!gpio_get(GPIOA, DL_GPIO_PIN_18))
#define GET_KEY2 gpio_get(GPIOB, DL_GPIO_PIN_22)
#define GET_KEY3 gpio_get(GPIOB, DL_GPIO_PIN_23)
#define GET_KEY4 gpio_get(GPIOB, DL_GPIO_PIN_24)

extern uint8_t sound_light_remind_flag;

void remind(uint16_t time);
void led_remind(uint16_t time);
void buzzer_remind(uint16_t time);
void sound_light_remind();

#endif